/*
 * Copyright 2012 Finbudget.com
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package finbudgetgriddemo.server;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

import finbudgettable.client.ui.grid.Utils;

public class ServerUtils {
	public static final SimpleDateFormat simpleDateFormat = new SimpleDateFormat(Utils.dateFormat);

	public static Date stringToDate(String str) {
		try {
			return str == null ? null : simpleDateFormat.parse(str);
		} catch (ParseException e) {
			return null;
		}
	}

	public static String dateToString(Date dt) {
		return dt == null ? null : simpleDateFormat.format(dt);
	}

	public static Date truncateDate(Date dt) {
		// Delete hours, minutes, seconds.
		Calendar c = Calendar.getInstance();
		c.setTime(dt);
		c.set(Calendar.MILLISECOND, 0);
		c.set(Calendar.SECOND, 0);
		c.set(Calendar.MINUTE, 0);
		c.set(Calendar.HOUR_OF_DAY, 0);
		return c.getTime();
	}

}
